package com.gjb6.customer.utils.permssion;

/**
 * Description:
 * Created by Andy Hong on 9/26/2017.
 */

public interface PermissionRequest {
    /**
     * 权限请求列表
     * 重复调用会覆盖上一次请求列表
     *
     * @param permissions 权限列表
     */
    PermissionRequest request(String... permissions);

    /**
     * 执行系统请求权限
     * 他将会回调到 Guardian#with()指定对象的onRequestPermissionsResult
     *
     * @param requestCode 请求码 从1开始
     */
    void call(int requestCode);

    /**
     * 执行系统请求权限
     * 如果当前activity 因为某些原因重新走生命周期，则回调失效
     *
     * @param listener 权限申请监听事件
     */
    void call(OnRequestPermissionsResultListener listener);

}
